package com.heu.blood.analysis.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.heu.blood.analysis.entity.BloodTestTransfusionEntity;
import com.heu.blood.analysis.vo.BloodTestAndChargeVo;
import com.heu.blood.analysis.vo.BloodTestqueryPatientTestResultVo;
import com.heu.blood.common.utils.PageUtils;

import java.util.List;
import java.util.Map;

/**
 * 血液检验表
 *
 * @author lhh
 * @email lhh1612325771@163.com
 * @date 2023-11-29 20:41:10
 */
public interface BloodTestTransfusionService extends IService<BloodTestTransfusionEntity> {

    PageUtils queryPage(Map<String, Object> params);

    /**
     * 分页联表条件查询有输血申请的病人血液样本和检测结果
     * @param params
     * @return
     */
    PageUtils selectSamplePatientTestPage(Map<String, Object> params);

    /**
     * 分页联表查询输血申请的病人的输血申请单和检测结果
     */
    PageUtils selectBloodTestTransfusionApplicationPage(Map<String, Object> params);

    /**
     * 将检测项目和检测结果单独列出来
     * @param bloodSampleId
     * @return
     */
    BloodTestqueryPatientTestResultVo queryPatientTestResult(String bloodSampleId);

    /**
     * 根据样本单号查询检测信息
     * @param bloodSampleId
     * @return
     */
    List<BloodTestTransfusionEntity> getBySampleId(String bloodSampleId);


    List<BloodTestTransfusionEntity> getTestResWithSampleId(String bloodSampleInfoTransfusionId);

    int saveBatchWithCharge(BloodTestAndChargeVo bloodTestAndChargeVo);

    int updateInspectResult(List<BloodTestTransfusionEntity> bloodTestTransfusionEntityList);

    int checkReviewResult(String bloodSampleInfoTransfusionId);
}

